//package com.atbun.aclservice.util;
//
//import com.atbun.aclservice.entity.AclPermission;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @Description : 根据权限数据构建菜单数据
// * @Author : mayp
// * @Date: 2020-05-23 20:18
// */
//public class PermissionHelper {
//    /**
//     * 使用递归方法建立菜单数据
//     * 因为菜单数据是树形结构，而且一层一层，所以使用递归遍历菜单
//     * @param treeNodes
//     * @return
//     */
//    public static List<AclPermission> build(List<AclPermission> treeNodes){
////        构建返回值对象
//        List<AclPermission> permissionList = new ArrayList<>();
////        遍历查询出来的菜单对象
//        for (AclPermission permission : treeNodes){
////            如果节点的父级id为0,那么该节点就是根节点
//            if ("0".equals(permission.getPid())){
////                设置层级为1级
//                permission.setLevel(1);
////                添加子节点，子节点需要递归遍历
//                permissionList.add(findChildren(permission,treeNodes));
//            }
//        }
//        return permissionList;
//    }
//
//    /**
//     * 遍历子节点
//     * @param permission
//     * @param treeNodes
//     * @return
//     */
//    private static AclPermission findChildren(AclPermission permission, List<AclPermission> treeNodes) {
//        permission.setChildren(new ArrayList<AclPermission>());
////   遍历节点数据集合
//        for (AclPermission it : treeNodes){
////            如果子节点的父id与当前节点id相同
//            if (it.getPid().equals(permission.getId())){
////                设置当前节点层级+1
//                int level = permission.getLevel()+1;
//                it.setLevel(level);
////                如果当前节点的子节点为空
//                if (null == permission.getChildren()){
////                    初始化节点
//                    permission.setChildren(new ArrayList<>());
//                }
////                递归遍历
//                permission.getChildren().add(findChildren(it,treeNodes));
//            }
//        }
//        return permission;
//    }
//}
